home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / threads.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  2KB  |  81 lines

  1. /**
  2.  * Summary: interfaces for thread handling
  3.  * Description: set of generic threading related routines
  4.  *              should work with pthreads, Windows native or TLS threads
  5.  *
  6.  * Copy: See Copyright for the status of this software.
  7.  *
  8.  * Author: Daniel Veillard
  9.  */
  10.  
  11. #ifndef __XML_THREADS_H__
  12. #define __XML_THREADS_H__
  13.  
  14. #include <libxml/xmlversion.h>
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20. /*
  21.  * xmlMutex are a simple mutual exception locks.
  22.  */
  23. typedef struct _xmlMutex xmlMutex;
  24. typedef xmlMutex *xmlMutexPtr;
  25.  
  26. /*
  27.  * xmlRMutex are reentrant mutual exception locks.
  28.  */
  29. typedef struct _xmlRMutex xmlRMutex;
  30. typedef xmlRMutex *xmlRMutexPtr;
  31.  
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #include <libxml/globals.h>
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39. XMLPUBFUN xmlMutexPtr XMLCALL        
  40.             xmlNewMutex    (void);
  41. XMLPUBFUN void XMLCALL            
  42.             xmlMutexLock    (xmlMutexPtr tok);
  43. XMLPUBFUN void XMLCALL            
  44.             xmlMutexUnlock    (xmlMutexPtr tok);
  45. XMLPUBFUN void XMLCALL            
  46.             xmlFreeMutex    (xmlMutexPtr tok);
  47.  
  48. XMLPUBFUN xmlRMutexPtr XMLCALL        
  49.             xmlNewRMutex    (void);
  50. XMLPUBFUN void XMLCALL            
  51.             xmlRMutexLock    (xmlRMutexPtr tok);
  52. XMLPUBFUN void XMLCALL            
  53.             xmlRMutexUnlock    (xmlRMutexPtr tok);
  54. XMLPUBFUN void XMLCALL            
  55.             xmlFreeRMutex    (xmlRMutexPtr tok);
  56.  
  57. /*
  58.  * Library wide APIs.
  59.  */
  60. XMLPUBFUN void XMLCALL            
  61.             xmlInitThreads    (void);
  62. XMLPUBFUN void XMLCALL            
  63.             xmlLockLibrary    (void);
  64. XMLPUBFUN void XMLCALL            
  65.             xmlUnlockLibrary(void);
  66. XMLPUBFUN int XMLCALL            
  67.             xmlGetThreadId    (void);
  68. XMLPUBFUN int XMLCALL            
  69.             xmlIsMainThread    (void);
  70. XMLPUBFUN void XMLCALL            
  71.             xmlCleanupThreads(void);
  72. XMLPUBFUN xmlGlobalStatePtr XMLCALL    
  73.             xmlGetGlobalState(void);
  74.  
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78.  
  79.  
  80. #endif /* __XML_THREADS_H__ */
  81.